package bank; import account.Account; import user.Person; public interface BankProc { /** * @param a * @pre (a != null) && (a.getMainHolder().getCNP() != null) * @invariant isWellFormed() * @post nr + 1 == getNrAccounts() */ public void addAccount(Account a); /** * * @param a * @pre (a != null) && (a.getMainHolder().getCNP() != null) * @invariant isWellFormed() * @post size@pre - 1 == getNrAccounts() */ public boolean removeAccount(Account a); /** * * @param p * @param a * @pre (a != null) && (a.getMainHolder().getCNP() != null) * @pre (p != null) && (p.getCNP() != null) * @invariant isWellFormed() * @post size@pre + 1 == size@post */ public void addPerson(Person p, Account a); /** * * @param p * @param a * @pre (a != null) && (a.getMainHolder().getCNP() != null) * @pre (p != null) && (p.getCNP() != null) * @invariant isWellFormed() * @post size@pre - 1 == size@post */ public boolean removePerson(Person p, Account a); /** * * @param p * @pre (p != null) && (p.getCNP() != null) * @invariant isWellFormed() * @post nr1 < nr2 */ public boolean removeHolder(Person p); }